﻿using System;
using System.ComponentModel.DataAnnotations;

namespace MvcDesign.Core.CoreDataModel
{
    public class User : IDataObject
    {
        [Key]
        public long? Id { get; set; }

        [Required]
        public string Name { get; set; }

        [Required]
        public string DisplayName { get; set; }

        [Required]
        public string Email { get; set; }

        [Required]
        public string Password { get; set; }

        public string Salt { get; set; }

        public string PasswordQuestion { get; set; }

        public string PasswordAnswer { get; set; }

        public string Comment { get; set; }

        public bool IsApproved { get; set; }

        public bool IsLockedOut { get; set; }

        [Required]
        public DateTime Created { get; set; }

        public DateTime? Updated { get; set; }

        public DateTime? LastLogin { get; set; }

        public DateTime? LastActivity { get; set; }

        public DateTime? LastPasswordChange { get; set; }

        public DateTime? LastLockout { get; set; }

        public Guid? ProviderUserKey { get; set; }

        public int IncorrectLoginAttempts { get; set; }
    }
}
